package miniproj.services.serialization;

import javax.xml.bind.annotation.*;

import miniproj.models.room.*;

import java.util.*;

/**
 * This class helps the XML serializer to serialize objects of the abstract
 * class Room
 * 
 * @author Baptiste Viale
 * 
 */
public class RoomsType {

	@XmlElementWrapper(name = "amphis")
	@XmlElement(name = "amphi")
	private List<Amphi> amphis;

	@XmlElementWrapper(name = "classrooms")
	@XmlElement(name = "classroom")
	private List<ClassRoom> classrooms;

	@XmlElementWrapper(name = "meetingrooms")
	@XmlElement(name = "meetingroom")
	private List<MeetingRoom> meetingrooms;

	@XmlElementWrapper(name = "tdrooms")
	@XmlElement(name = "tdroom")
	private List<TDRoom> tdrooms;

	@XmlElementWrapper(name = "tprooms")
	@XmlElement(name = "tproom")
	private List<TPRoom> tprooms;

	/**
	 * Instantiates a new rooms type object. (JavaBeans)
	 */
	public RoomsType() {
	}

	/**
	 * Instantiates a new rooms type object.
	 * 
	 * @param amphis
	 *            the amphis
	 * @param classrooms
	 *            the classrooms
	 * @param meetingrooms
	 *            the meeting rooms
	 * @param tdrooms
	 *            the td rooms
	 * @param tprooms
	 *            the tp rooms
	 */
	public RoomsType(List<Amphi> amphis, List<ClassRoom> classrooms,
			List<MeetingRoom> meetingrooms, List<TDRoom> tdrooms,
			List<TPRoom> tprooms) {
		this.amphis = amphis;
		this.classrooms = classrooms;
		this.meetingrooms = meetingrooms;
		this.tdrooms = tdrooms;
		this.tprooms = tprooms;
	}

	/**
	 * Gets the amphis.
	 * 
	 * @return the amphis
	 */
	public List<Amphi> getAmphis() {
		return amphis;
	}

	/**
	 * Gets the classrooms.
	 * 
	 * @return the classrooms
	 */
	public List<ClassRoom> getClassrooms() {
		return classrooms;
	}

	/**
	 * Gets the meetingrooms.
	 * 
	 * @return the meetingrooms
	 */
	public List<MeetingRoom> getMeetingrooms() {
		return meetingrooms;
	}

	/**
	 * Gets the tdrooms.
	 * 
	 * @return the tdrooms
	 */
	public List<TDRoom> getTdrooms() {
		return tdrooms;
	}

	/**
	 * Gets the tprooms.
	 * 
	 * @return the tprooms
	 */
	public List<TPRoom> getTprooms() {
		return tprooms;
	}

}
